home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1991 May
/
64er_Magazin_91-05_1991_Markt__Technik_de.d64
/
arc 1.5.src
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
13KB
|
350 lines
10 sys36864
20 .opt oo
30 *= 49152
50 ziel =2049
90 ser1 =1 ; versionsnummer
92 ser2 =5 ; sekundaer
100 cint =65409
102 open =$ffc0
104 close =$ffc3
106 chkout =$ffc9
108 clrchn =$ffcc
110 print =$ffd2
112 get =$ffe4
114 ptr =2
116 clall =$ffe7
118 axout =$bdcd
120 strout =$ab1e
122 anzprg =4
124 gr =5
126 setnam =$ffbd
128 dn =$b8
130 namlen =183
132 sa =$b9
134 len =251
136 return =$aad7
138 tsys =158
140 bank =1
142 tmp =166
144 crs1 =$cc
146 crs2 =$cd
148 crs3 =$cf
150 name =820
152 zeile =214
154 space =$ab3f
156 vic =$d000
158 bild =$d1
160 namber =$cd00 ; 45 files a 17 zeichen
162 calc =$e9f0
166 tmp2 =181
168 scradr =648
170 scrmem =$d000
172 clrscr =$e544
174 sendnam =$f3d5
176 talk =$ffb4
178 sectalk =$ff96
180 iecin =$ffa5
182 status =$90
184 clsfil =$f642
186 fa =$ba
188 key =198
190 clrx =59903
192 alle =139
194 lfd =140
196 chkin =$ffc6
198 fehler =704; fehlerkanal
200 real =141
202 last =142
204 aktlen =170
206 lenpos =178
208 memend =$bf00
210 save =$ffd8
212 ioflag =157
214 reset =65532
216 sum =253
218 laenge =254
220 spalte =211
224 cursor =58732
900 base jmp losgehts
1000 help .asc " bitte geben sie die filenamen der max.
1002 .byt 13:.[198] " 45 einzelfiles ein. '$': dir. anzeigen
1004 .byt 13:.asc " '*': fertig
1006 .byt 13:.[198] " '?': korrektur
1008 .byt 13:.asc " ':': dir. lesen":.byt 13,0
1010 holnam1 .byt 13:.asc " name des ":brk
1012 holnam2 .asc ". files ? ":brk
1020 taste .byt 13:.asc " - weiter mit taste -":brk
1022 also .asc " es wurden ":brk
1024 also2 .asc " files erfasst.":.byt 13
1026 .asc " sind die alle auf einer diskette ? ":brk
1030 gesask .byt 13:.asc " gesamtfile - name ? ":brk
1032 autotxt .asc " files aus directory einlesen.":.byt 13
1033 .asc " (j) file uebernehmen":.byt 13
1034 .asc " (n) file ueberspringen":.byt 13
1035 .asc " (*) fertig":.byt 13
1036 .asc " (d) diskette wechseln":.byt 13
1037 .asc " (a) arc neu starten":brk
1040 oha .asc " bearbeite file nr. ":brk
1042 ohu .byt 13:.asc " name: ":brk
1044 ohe .byt 13:.asc " - bitte diskette einlegen -":brk
1050 csu .asc " diskfehler: ":brk
1052 spd .asc " (v) nochmal versuchen
1054 hope .byt 13:.[198] " (n) naechstes file
1056 .byt 13:.asc " (e) ende":brk
1060 dahin .byt 13:.asc " ladeadresse : ":brk
1062 loada .asc " startadresse: ":brk
1064 full .byt 13:.asc " file zu lang - speicher voll !!":brk
1070 jetzt .asc " gesamtfile wird gespeichert
1072 .byt 13:.[198] " - bitte diskette einlegen -":brk
1074 jetzned .[198] " alle files uebersprungen !":brk
1080 alk .byt 13:.[198] " speicherung beendet. alles okay.
1082 bob .byt 13:.asc " programm nochmal starten ? [j/n]":brk
1084 watnu .byt 13:.asc " (v) nochmal versuchen
1086 .byt 13:.[198] " (e) ende":brk
1090 auzer1 .[198] "stand: ":brk
1092 anzer2 .[198] " von max. 45 files erfasst.":brk
1094 auzer3 .[198] "diskette einlegen!":brk
1096 auzer4 .[198] "disketten-name: ":brk
1098 dirne .[198] "$0
1100 auzer5 .asc "file: ":brk
1110 auzlen .asc "block-summe: ":brk
1120 anz2 .byt 13:.asc " frei: ":brk
1122 momanz .asc "laenge: ":brk
2000 kopf =*
2001 bas =*
2002 .wor endp,1990
2004 .byt tsys:.asc "2061":brk
2006 endp =*-bas+ziel
2008 .wor 0
2010 jsr cint:jsr clall:lda #6:sta vic+32:sta vic+33
2012 lda fa:cmp #8:bcc set8b:cmp #15:bcc okayb
2013 set8b lda #8:sta fa
2014 okayb lda #<genb:ldy #>genb:sta ptr:sty ptr+1
2016 jsr hol:sta anzprg:sty gr
2018 lda #<txt1:ldy #>txt1:jsr strout
2020 fileloop inc gr:lda #<txt2:ldy #>txt2:jsr strout:ldx gr:lda #0:jsr axout
2022 lda #<txt3:ldy #>txt3:jsr strout:ldx anzprg:lda #0:jsr axout
2023 ldx ptr:ldy ptr+1:jsr setnam
2024 jsr hol:bne (NULL)n:lda #<txt4:ldy #>txt4:jsr strout:jsr clall
2025 ldx gr:dex:lda #0:jsr axout:jmp return
2026 (NULL)n iny:sty namlen:sty sa:sty dn
2028 getnam jsr hol:beq hates:inc namlen:bne getnam
2029 qfileloop bcc fileloop
2030 hates lda #54:sta bank:jsr open:inc bank:ldx #1:jsr chkout
2032 jsr hol:jsr print:jsr hol:jsr print
2034 jsr hol:sta len:jsr hol:sta len+1
2036 saveprg lda len:bne nochwas:lda len+1:beq fertig:dec len+1
2038 nochwas dec len:jsr hol:jsr print:clc:bcc saveprg
2040 fertig jsr clrchn:lda #1:jsr close:clc:bcc qfileloop
2100 hol =*-bas+ziel
2102 lda #54:sta bank
2104 ldy #0:lda (ptr),y:inc ptr:bne loop1:inc ptr+1
2106 loop1 inc bank:and #$ff:rts
2150 txt1 =*-bas+ziel
2151 atxt1 .asc "[142][147][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164][164]
2152 .[198] "archive v":.byt ser1[170]48,".",ser2[170]48,32
2154 mode .[198] "gen von nikolaus heusler
2156 .asc "(c) nh-071290-arr ein nss programm
2158 .byt 13
2160 art .[198] "die files werden erzeugt...":brk
2162 txt2 [178][172][171]bas[170]ziel
2164 .byt 13:.[198] "onfile ":brk
2166 txt3 [178][172][171]bas[170]ziel
2168 .byt 13:.[198] "onvon ":brk
2170 txt4 [178][172][171]bas[170]ziel
2172 .byt 13:.[198] "onfertig !! files generiertcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmdcmd":brk
2190 [128]kopf [178][172]
2200 genb [178][172][171]bas[170]ziel
2210 mem[195] [178]mem[128][171]genb
2212 memblk [178][177]mem[195]
2900 schieb [178][128]kopf[171]kopf[171]256
3000 copydown ldy #0
3002 copy1 lda kopf,y:sta ziel,y
3004 lda kopf[170]schieb,y:sta ziel[170]schieb,y
3006 iny:bne copy1:rts
3050 [156]pag ldx #5
3052 cpg jsr [156]x:inx:cpx #24:bcc cpg:rts
3100 [161]name jsr delber:ldx #0:stx [195]
3102 keylp lda #0:sta crs1
3104 wk jsr [161]:beq wk
3106 ldx #2:stx crs2
3108 wx ldx crs3:bne wx
3110 inc crs1:cmp #13:bne text:ldx [195]:beq keylp
3112 rts
3114 text cmp #20:bne nodel:ldx [195]:beq keylp:jsr [153]:dec [195]:bpl keylp
3116 nodel cmp #32:bcs ok1
3118 wr[145]g jmp keylp
3120 ok1 tax:bpl ok:cmp #149:bcc wr[145]g:cmp #156:bcc ok:cmp #160:bcc wr[145]g
3122 ok ldx [195]:cpx #16:bcs keylp:sta name,x:jsr [153]:inc [195]:bne keylp
3150 delber ldx #16:lda #"close
3152 d1 jsr print:dex:bne d1
3154 ldx #16:lda #"[157]
3156 d2 jsr [153]:dex:bne d2:rts
3200 cax dex:stx tmp2:lda #0:sta tmp[170]1:txa:ldx #4
3202 cax1 asl:rol tmp[170]1:dex:bne cax1:adc tmp2:sta tmp:lda tmp[170]1
3204 adc #[177]namber:sta tmp[170]1:rts
3300 scroll ldx #11
3302 scr1 jsr calc:lda bild:sta tmp:lda bild[170]1:sta tmp[170]1
3304 inx:jsr calc:ldy #39
3306 scr2 lda (bild),y:sta (tmp),y:dey:bpl scr2
3308 cpx #23:bcc scr1
3310 up lda #"on":jmp [153]
3350 put ldy #0:sta (ptr),y:inc ptr:bne raus:inc ptr[170]1
3352 raus rts
3360 [160]9 jsr [156]chn:lda #9:jmp [160]
3400 dir ldy #0:sty tmp:sty tmp2:lda scradr:sta tmp[170]1:lda #[177]scrmem
3402 sta tmp2[170]1:ldx #48:sei:stx bank:ldx #4:lda zeile:pha
3404 copy3 lda (tmp),y:sta (tmp2),y:dey:bne copy3:inc tmp[170]1:inc tmp2[170]1:dex
3406 bne copy3:ldx #55:stx bank:cli:jsr [156]scr
3408 ldx #[179]name:ldy #[177]name:lda [195]:jsr setnam:lda #$60:sta sa:jsr s[128]nam
3410 lda fa:jsr talk:lda sa:jsr sectalk:lda #0:sta status:ldy #3
3412 l1 sty tmp:jsr iecin:sta tmp[170]1:ldy status:bne l4:jsr iecin:ldy status
3414 bne l4:ldy tmp:dey:bne l1:ldx tmp[170]1:jsr axout:jsr space
3416 l3 jsr iecin:ldx status:bne l4:tax:beq l2:jsr [153]:bcc l3
3418 l2 jsr [142]:ldy #2:bne l1
3420 l4 jsr clsfil:lda #[179]taste:ldy #[177]taste:jsr strout:jsr [146]key
3421 lda #1:sta vic[170]33:jsr [156]scr:lda #6:sta vic[170]33
3422 pla:sta zeile:ldx #48:sei:stx bank:ldx #4:lda #[177]scrmem:sta tmp[170]1:ldy #0
3424 sty tmp:sty tmp2:lda scradr:sta tmp2[170]1
3426 copy2 lda (tmp),y:sta (tmp2),y:dey:bne copy2:inc tmp[170]1:inc tmp2[170]1
3428 dex:bne copy2:ldx #55:stx bank:cli:rts
3500 [146]key lda #0:sta key
3502 wkk cmp key:beq wkk:dec key:rts
4000 losgehts jsr c[181]:jsr clall:lda #6:sta vic[170]32:sta vic[170]33
4001 lda fa:cmp #8:bcc set8:cmp #15:bcc okay
4002 set8 lda #8:sta fa
4003 okay lda #0:sta ioflag:sta art:sta anzprg
4004 lda #32:sta mode:sta mode[170]1:sta mode[170]2
4006 lda #[179]atxt1:ldy #[177]atxt1:jsr strout
4010 lda #17:sta art:lda #"g":sta mode:lda #"e":sta mode[170]1:lda #"n
4012 sta mode+2:lda #<help:ldy #>help:jsr strout
4100 eing1 inc anzprg
4102 eing2 lda #<holnam1:ldy #>holnam1:jsr strout:ldx anzprg:jsr xtab
4104 lda #<holnam2:ldy #>holnam2:jsr strout
4106 jsr getname:lda name:cmp #"*":bne noend:lda anzprg:cmp #2:bcs jaend1
4108 stop jsr up:bcc eing2
4112 noend cmp #"?":bne nokor:lda zeile:cmp #12:bcc stop
4114 dec anzprg:jsr up:bcc stop
4116 nokor cmp #"$":bne nodir:jsr dir:jmp stop
4118 nodir cmp #":":bne noaut:jmp getauto
4120 noaut ldx anzprg:cpx #46:bcs stop:jsr cax:ldy len:lda #0:sta (tmp),y:dey
4122 transnam lda name,y:sta (tmp),y:dey:bpl transnam
4124 lda zeile:cmp #23:bcc eing1:jsr scroll:jmp eing1
4200 jaend1 dec anzprg
4202 jaend2 jsr clrpag
4204 lda #<also:ldy #>also:jsr strout:ldx anzprg:jsr xout
4206 lda #<also2:ldy #>also2:jsr strout:lda #0:sta key
4208 wjn jsr get:cmp #"j":beq off:cmp #"n":bne wjn
4214 off jsr print:sec:sbc #"j":sta alle
4216 lda #<gesask:ldy #>gesask:jsr strout:jsr getname:lda name:cmp #"*
4218 beq ja[128]2:cmp #"?":beq ja[128]2
4250 lda #0:sta lfd:sta real:jsr copydown
4252 lda #[179]genb:ldy #[177]genb:sta ptr:sty ptr[170]1:jsr put
4260 ldy #15:sty sa:sty dn:lda #0:sta nam[195]:jsr [159]
4300 main inc lfd:ldx lfd:dex:cpx anzprg:bne sleep:jmp [128]e
4301 sleep ldx #5:lda ptr:sta last:lda ptr[170]1:sta last[170]1
4302 [156]p2 jsr [156]x:inx:cpx #19:bcc [156]p2
4304 lda #[179]oha:ldy #[177]oha:jsr strout:lda #0:ldx lfd:jsr xout
4306 lda #[179]ohu:ldy #[177]ohu:jsr strout:ldx lfd:jsr cax:lda tmp:ldy tmp[170]1
4308 jsr strout
4316 lda alle:bmi weiter:lda #[179]ohe:ldy #[177]ohe:jsr strout:jsr [146]key
4318 ldx #11:jsr [156]x:lda alle:bne weiter:lda #[171]1:sta alle
4320 weiter ldy #[171]1
4322 wtr iny:lda (tmp),y:sty tmp2:jsr put:ldy tmp2:tax:bne wtr:tya:ldx tmp
4324 ldy tmp[170]1:jsr setnam:lda #0:sta sa:lda #9:sta dn:jsr [159]
4326 ldx #15:jsr chkin:ldx #[171]1
4328 [161]err inx:jsr [161]:sta fehler,x:cmp #13:bne [161]err:lda #0:sta fehler[170]1,x
4330 jsr [156]chn:lda fehler:cmp #"0":beq aechtz
4331 jsr [160]9
4332 lda #[179]csu:ldy #[177]csu:jsr strout:lda #[179]fehler:ldy #[177]fehler:jsr strout
4334 lda #[179]spd:ldy #[177]spd:jsr strout
4336 gti jsr [161]:cmp #"e":bne noe
4337 halt lda last:sta ptr:lda last[170]1:sta ptr[170]1:jmp [128]e
4338 noe cmp #"v":bne nov:dec lfd
4339 qmain lda last:sta ptr:lda last[170]1:sta ptr[170]1:jmp main
4340 nov cmp #"n":bne gti:beq qmain
4350 aechtz ldx #9:jsr chkin:jsr [161]:jsr put:pha:jsr [161]:jsr put:pha
4352 lda #[179][147]a:ldy #[177][147]a:jsr strout:pla:tay:pla:tax:tya:jsr axout
4354 lda ptr:sta [195][185]:lda ptr[170]1:sta [195][185][170]1:lda #0:sta akt[195]:sta akt[195][170]1
4356 jsr put:jsr put:lda #[179]dahin:ldy #[177]dahin:jsr strout:ldx ptr:lda ptr[170]1
4358 jsr axout
4400 [147]loop jsr iecin:tax:lda status:lsr:lsr:bcs ab[176]t
4402 txa:jsr put:inc akt[195]:bne noinc:inc akt[195][170]1
4404 noinc lda ptr[170]1:cmp #[177]mem[128]:bcc [147]loop
4406 jsr [160]9:lda #[179]full:ldy #[177]full:jsr strout
4408 lda #[179]hope:ldy #[177]hope:jsr strout:lda #0:sta key
4410 [161]ne jsr [161]:cmp #"e":beq qhalt:cmp #"n":bne [161]ne:jmp qmain
4412 qhalt jmp halt
4450 ab[176]t jsr [160]9
4452 ldy #0:lda akt[195]:sta ([195][185]),y:iny:lda akt[195][170]1:sta ([195][185]),y
4454 inc real:jmp main
4500 [128]e lda #0:jsr put
4502 [128] ldx #5
4504 [156]pg3 jsr [156]x:inx:cpx #19:bcc [156]pg3:lda real:beq nixdrin:sta genb
4505 lda #[179]jetzt:ldy #[177]jetzt:jsr strout:jsr [146]key:ldx #7:jsr [156]x
4506 lda [195]:ldx #[179]name:ldy #[177]name:jsr setnam
4508 lda #54:sta bank:ldx ptr:ldy ptr[170]1:lda #[179]ziel:sta tmp:lda #[177]ziel:sta tmp[170]1
4509 lda #tmp:jsr [148]:inc bank
4510 ldx #15:jsr chkin:ldx #[171]1
4512 [161]err2 inx:jsr [161]:sta fehler,x:cmp #13:bne [161]err2:lda #0:sta fehler[170]1,x
4514 jsr [156]chn:lda fehler:cmp #"0":beq aechtz2
4515 jsr [160]9:lda #[179]csu:ldy #[177]csu:jsr strout:lda #[179]fehler:ldy #[177]fehler
4516 jsr strout:lda #[179]w[193]u:ldy #[177]w[193]u:jsr strout:lda #0:sta key
4517 wat jsr [161]:cmp #"e":beq [129]t:cmp #"v":bne wat:jmp [128]
4518 nixdrin lda #[179]jetzned:ldy #[177]jetzned:jsr strout
4520 aechtz2 lda #15:jsr [160]:lda #[179]alk:ldy #[177]alk
4521 sout jsr strout:lda #0:sta key
4522 erwjn jsr [161]:cmp #"n":bne live:jmp (reset)
4524 live cmp #"j":bne erwjn
4526 neustart jmp (base[170]1)
4528 [129]t lda #[179]bob:ldy #[177]bob:bne sout
4600 [161]au[164] jsr [156]pag:lda #[179]au[164]txt:ldy #[177]au[164]txt:jsr strout
4602 lda #0:sta sum
4610 eil1 jsr blockout:ldx #19:jsr linx:lda #[179]auzer1:ldy #[177]auzer1:jsr strout
4612 ldx anzprg:dex:jsr xtab:lda #[179]anzer2:ldy #[177]anzer2:jsr strout
4620 ldx #16:jsr [156]x
4621 ldx #14:jsr [156]x:jsr linx:lda #[179]auzer3:ldy #[177]auzer3:jsr strout
4622 diskw jsr [146]key:inc key:jsr [161]:cmp #"a":beq neustart
4624 ldx #[179]dirne:ldy #[177]dirne:lda #2:jsr setnam:lda #$60:sta sa:jsr s[128]nam
4626 lda fa:jsr talk:lda sa:jsr sectalk:lda #0:sta status:ldy #8:jsr skip
4628 bcc d
4629 vnodisk jmp nodisk
4630 d ldx #14:jsr linx:lda #[179]auzer4:ldy #[177]auzer4:jsr strout:lda #34:jsr [153]
4632 namout jsr iecin:ldx status:bne vnodisk:jsr [153]:cmp #34:bne namout
4640 such0 jsr iecin:ldx status:bne vnodisk:tax:bne such0
4642 ldy #2:jsr skip
4643 qnodisk bcs vnodisk:jsr iecin:pha:jsr iecin:pla:sta laenge
4644 such[165] jsr iecin:ldx status:bne nodisk:cmp #34:bne such[165]
4646 ldx #16:jsr linx
4647 lda #[179]auzer5:ldy #[177]auzer5:jsr strout:lda #34:jsr [153]
4648 ldx #0
4650 ot[164] stx [195]:jsr iecin:ldx status:bne nodisk:ldx [195]
4652 cmp #34:beq [128]nam:sta name,x:inx:bne ot[164]
4654 [128]nam lda #0:sta name,x:lda #[179]name:ldy #[177]name:jsr strout:lda #34:jsr [153]
4656 lda #28:sta spalte:lda #[179]momanz:ldy #[177]momanz:jsr strout:ldx laenge:jsr xout
4660 wahl jsr [161]:cmp #"a":beq qneustart
4662 cmp #"*":bne nofini:lda anzprg:cmp #2:bcc wahl:jsr clsfil:jmp ja[128]1
4663 qneustart jmp neustart
4664 nofini cmp #"d":bne n[145]ew
4666 nodisk jsr clsfil:jmp eil1
4668 n[145]ew cmp #"n":beq [130][145]e:cmp #"mid$":beq shftj:cmp #"j":bne wahl
4670 lda #memblk:cmp sum:bcc wahl:sbc sum:cmp laenge:bcc wahl
4674 shftj ldx anzprg:cpx #46:bcs wahl:jsr cax:ldy [195]
4676 transnm lda name,y:sta (tmp),y:dey:bpl transnm:inc anzprg
4678 lda laenge:clc:adc sum:bcc bcarry:lda #[171]1
4679 bcarry sta sum:jsr blockout
4680 [130][145]e ldx #16:jsr [156]x
4681 ldx #19:jsr linx:lda #[179]auzer1:ldy #[177]auzer1:jsr strout
4682 ldx anzprg:dex:jsr xtab:lda #[179]anzer2:ldy #[177]anzer2:jsr strout
4684 jmp such0
4700 skip sty tmp:jsr iecin:lda status:beq okst:sec:rts
4702 okst ldy tmp:dey:bne skip:clc:rts
4800 blockout ldx #21:jsr linx:lda #[179]auz[195]:ldy #[177]auz[195]:jsr strout
4802 ldx sum:jsr xhun:lda #[179]anz2:ldy #[177]anz2:jsr strout:lda #memblk
4804 cmp sum:bcc zero[184]:sbc sum:.byt $2c
4806 zero[184] lda #0:tax
4810 xhun cpx #100:bcs xout:jsr space
4812 xtab cpx #10:bcs xout:jsr space
4818 xout lda #0:jmp axout
4820 linx lda #1:sta spalte:stx zeile:jmp curs[176]